package org.jeecg.modules.chg.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.chg.entity.ChgPayments;
import org.jeecg.modules.chg.entity.ChgSubPayments;
import org.jeecg.modules.chg.vo.ChgPaymentsCountVo;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;

/**
 * @Description: 缴费记录
 * @Author: jeecg-boot
 * @Date:   2022-02-21
 * @Version: V1.0
 */
public interface IChgPaymentsService extends IService<ChgPayments> {

	/**取消预缴充值缴费列表*/
    IPage<ChgPayments> cancelPageList(Page<ChgPayments> page, ChgPayments query);

    /**
	 * 添加一对多
	 *
	 */
	public void saveMain(ChgPayments chgPayments,List<ChgSubPayments> chgSubPaymentsList) ;

	/**
	 * 修改一对多
	 *
	 */
	public void updateMain(ChgPayments chgPayments,List<ChgSubPayments> chgSubPaymentsList);

	/**
	 * 删除一对多
	 */
	public void delMain (String id);

	/**
	 * 批量删除一对多
	 */
	public void delBatchMain (Collection<? extends Serializable> idList);

	/**
	 * 查询未开票的缴费清单
	 * @param accCode
	 * @param createTimeBegin
	 * @param createTimeEnd
	 * @return
	 */
	public List<ChgPayments>selectBillNoOpen(String accCode
			, String createTimeBegin, String createTimeEnd);


	/**查询预支付状态订单*/
	public List<ChgPayments>selectPrePayOrder(String prepayId,  String status);

    List<ChgPaymentsCountVo> chargePaymentsCount(String beginDate, String endDate);

    /**取消充值*/
	public Result<?> cancelPay(ChgPayments chgPayments);

	/**农行对账单入库*/
	public void inportBillByAbc();
}
